import {Request,Response} from 'express';

interface User {
    id: string,
    name: string,
    email: string,
}

class PrintWrapper{
  private user: User;
  constructor(user: User){
    this.user = user;
  }
  print():User{
    console.log(`<h1>${JSON.stringify(user)}</h1>`);
    return this.user;
  }
}

const user:User = {
  id: "1",
  name: "John",
  email: "john@example.com"
};

new PrintWrapper(user).print();

interface UserRequest extends Request {
  body: User;
}

interface UserResponse extends Response {
}

export {User,UserRequest,UserResponse}